約 4,408,840 件
https://w.atwiki.jp/true_tears/pages/208.html
台所に立って、理恵子は夕食の支度をしていた。 ――さあ、どうしたものかしら。 支度をしながらも理恵子は、全く別の思索に頭の大部分を支配されていた。 三者面談はもうすぐだった。今回の面談では進路についての具体的な話しをしなけれ ばならない。具体的な話をするには親子でまず話し合わねばならないが、仲上家の2人 の子供は、将来について、話し合う事を好まないようだった。 一向に跡を継ぐと言ってくれない息子も悩みの種だが、娘の方は別の意味で尚深刻だ った。 そして先刻、学校から電話が入った。進路希望調査票(いつの間に書いたのか、そんな もの)の内容についての確認だった。 「あなた、お話があります」 食後のひと時だった。眞一郎はもう自室に戻っている。理恵子は、敢えて眞一郎がいなく なるのを待っていたのである。 「ん、なんだ?」 「今日、学校から連絡があったんですけど・・・・進路の事で」 そういうと、ファックスで送ってもらった進路希望調査票を見せる。 ひろしはそれを一瞬だけ目を落とし、すぐに理恵子を見た。 「これがどうかしたか?」 「これで本当にいいんですか?これじゃ――」 「まだ言ってるのか。眞一郎には好きな事を追求させてやろう」 今までにも何度も夫婦で話し合った事だ。杜氏については住み込みで修行している少年が おり、他の従業員と協力していけば蔵を守ることはできるだろう。その気のない息子より、やる 気のある弟子に期待した方が現実的だ。 だが、今日の理恵子は引き下がらなかった。 「眞ちゃんは、自分の事だけを考えていればいい立場の子じゃありません」 「まだ言ってるのか。眞一郎は眞一郎。仲上の家は関係ない」 スッ 理恵子がもう一枚の紙を差し出した。ひろしは今度は目を離さなかった。 「これは・・・・」 「もう一度、眞ちゃんと話をしてください。こちらは私が説得します」 続
https://w.atwiki.jp/true_tears/pages/531.html
「行ってきます」 眞一郎が学校に向かい、ひろしも酒造所に戻って行った。残った理恵子は食器を洗おう と台所に運ぶ。 床が柔らかくなったような感覚に足下を見た。何も変わっていない。二、三度足踏みし てみたが何も起こらない。特に床が腐っているわけでもないようだ。 首を傾げながら洗い物を続ける。蛇口から流れる水を見ながら洗っていると、水が二重 にぶれて見えた。目を瞬(しばたた)かせてもう一度見直す。最初は普通に見えた水道水 がまた二重になった。次いで軽い頭痛。ようやく理恵子にも事態が飲み込めた。 理恵子は風邪を引いていた。 「――三十七度七分か。今日は寝ておけ」 昼に戻ってきたひろしは理恵子が居間で横になっているのを見ると、何も言わずに体温 計を持って来た。 「すいません。お昼も作らないで」 「いい。上で寝てろ。昼は適当に食う」 それから一瞬間を置いて 「風邪薬はあったか?」 「朝はもう飲みました。けど残りが少なくて……」 「そうか。ついでに、それも買ってこよう」 「本当にすいません。少し寝れば夕方には治ると思いますから」 「今日一日は寝ておけ。眞一郎に連絡して、夕食は比呂美にでも頼むさ」 「そんな。比呂美ちゃんだって部活で疲れてるんですから――」 「ふむ、それもそうだな。まあ、どちらにせよ眞一郎には言っておこう。比呂美の所で飯 を食わせて、俺たちは旨い物でも出前してもらおうか」 珍しく冗談めいた事を言ってひろしは昼食と薬を買いに出た。理恵子は言われた通り二 階に上がり、着替えてベッドに横になった。 ――比呂美ちゃんも部活で疲れてる、か。 理恵子は自分の言葉を胸の内で繰り返した。その部活で疲れて帰ってきた比呂美に配達 や、帳簿付けを命じていたのは自分なのだ。自嘲の笑いも出ない。 ほぼ確実に、比呂美は眞一郎の嫁としてこの家に戻ってくる。客観的に見て比呂美以上 の娘などそうはいない事は判っているつもりだ。頭の回転が速いだけでなく、気配りも出 来て人当たりもいい。理恵子の眞一郎への評価は恐らく誰よりも高いが、それでもこの先 比呂美と別れてもそれ以上の女性を連れてくることは出来ないだろう。 そうなった時、自分は比呂美と上手くやっていけるだろうか。比呂美が一人暮らしを始 めたのは理恵子より眞一郎と距離を置こうとしての決断だったようだが、結果として理恵 子と比呂美はお互いの生活に干渉しあう必要がなくなった。だから上手くいっている面は 間違いなくある。再び同居した時、些細な事が気になったりはしないだろうか?それに対 して比呂美は息苦しさを感じたら?比呂美が戻ってきて、ようやく修復されつつある今の 関係がまた悪化する事を理恵子は恐れていた。 目を覚ますと夕方だった。 「いけない、もうこんな時間」 身体を起こそうとして、額に冷たいタオルが乗せられている事に気づいた。 タオルを手に階段を降り、台所に入ると、比呂美が夕飯の支度をしている所だった。 「あ、おばさん。お邪魔してます」 「……比呂美ちゃん、早いのね」 「え?ああ、今日部活お休みなんです」 比呂美は屈託なく笑って見せた。その後すぐ真剣な顔になり 「あの、熱は下がりましたか?」 と訊いてきた。 「ええと……大分楽になったわ」 比呂美はにっこりと笑って 「よかった。――あ、お水ですか?」 「そうね。一杯いただくわ」 比呂美がコップに水を汲んで理恵子に渡す。理恵子は受け取るとテーブルの椅子を引い て座った。 「――今日のお献立は何かしら?」 「里芋の煮物にしようと思ってます。おばさんにはお粥を用意しますね」 「いいわよ、普通のご飯で。それじゃ、私もお手伝いするわね」 実はまだ身体は重いのだが、全て任せるのも悪い気がしてそう言った。 比呂美が遠慮するだろうとは思っていたが、表情が厳しくなるのは予想外だった。比呂 美はむしろ怒っているのではと思う硬い表情で、断固拒否したのである。 「駄目です。病気なんですから安静にしていてください」 「え?いやね、大袈裟よ、たかが風邪で」 「風邪を甘く見ないで下さい。出来たら部屋に運びますから、上階(うえ)で寝ていて下 さい」 今まで見た記憶のない比呂美の様子に戸惑っていると、眞一郎が台所に顔を出した。 「あれ、母さん、起きてたの?」 「ええ、ちょっとお水を飲もうと思って」 「ふうん。で比呂美、風呂掃除したぞ。他に何かある?」 「ありがとう。……えっと、うん、大丈夫。こっちは一人で出来るから」 「そっか。じゃ、部屋に戻ってる」 眞一郎が台所からいなくなると、理恵子もこれ以上比呂美と話題もなくなり、部屋に戻 った。 とりあえず横にはなってみたが、既にたっぷりと寝たせいか眠気はこない。かといって だるいのは変わりなく、身体を起こしているのも辛いのでそのままにしていた。 暫くして窓の外が暗くなった頃、ふすまをノックして比呂美が入ってきた。 「失礼します。お粥、持ってきました」 「出来た事を教えてくれれば降りていったのに」 「階段の上り下りも結構体力奪われますから」 そう言いながら配膳を進める比呂美。理恵子の分だけでなく自分の分も持ってきていた。 「ご一緒させてもらっていいですか?」 「私の事は気にしないで、階下(した)で眞ちゃんと一緒に食べてていいのよ」 「眞一郎くんもそうするように言ってくれました」 ベッドサイドのテーブルに配膳を終えて 「さ、どうぞ」 理恵子は粥に口をつけた。卵でとじた粥は理恵子の感覚で言うと、少し味が薄かった。 しかし、熱のある今はこのくらいの方がむしろ刺激が少なくていいかもしれない。 「おいしいわ」 比呂美から感想を求められる前にそう言った。比呂美はほっとしたような笑顔を浮かべ た。手を合わせてから自分の膳に箸をつける。 理恵子は里芋の煮付けも口に入れた。やはり薄味だが芯はなく、だからと言って煮崩れ する事もなく、程よく出来上がっていた。 「あの、初めて作ったんですけど……どうですか?」 「上手く煮えてるわよ。初めてでこれならすごいわ」 理恵子は素直に評した。 「……里芋は柔らかくて煮崩れしやすいから、面取りはきちんとした方がいいわね。手間 だけど、崩れると煮汁も濁ってくるから見た目がかなり悪くなるわ」 「はい」 「でも初めてにしては本当に上手く出来ているわ。お母さんから習ってたの?」 比呂美は首を振った。 「いえ、料理の本で……」 母子家庭で外で仕事をしていた香里のために比呂美は食事の支度もしていたが、シチュ ーやカレー、ハンバーグなど、若い娘の定番的な料理が多かった。母の生前あまり料理を 一緒に作ったり教えてもらったり出来なかった事は、比呂美にとって後悔の一つだった。 そう言えば、と理恵子は思った。比呂美と料理を一緒に作ったのはあまりないな。去年 の麦端祭りの時に手伝ってもらった事はあるが、材料を切ってもらう程度で肝心な部分は 教えていない。同居していた時にも朝食を何度か任せていたが、包丁などの一通りの技術 は持っていたし、味付けについては湯浅家の流儀で注文をつける気はなかったので特に何 かを指導する必要もなかった。 「お茶、お替りしますか?」 「え?ああ、そうね、いただくわ」 比呂美がお茶を淹れ直し、理恵子に差し出す。 「水分はしっかり摂って下さいね」 「ありがとう」 一口付けた。少し熱すぎると思った。比呂美も自分の茶を飲んでいるが、彼女にとって はこれが普通のようだ。 「――ご馳走様でした」 理恵子が手を合わせた。比呂美が薬と水を用意する。 「じゃあ、お薬置いておきますね。飲んだらまた少し休んでください」 「ええ、ありがとう」 そうして比呂美は部屋を出て行った。 薬を飲み、暫くベッドに腰掛けたままでいるとひろしが部屋に来た。 「調子はどうだ?少しはよくなったか?」 「ああ――ええ、今お薬も飲みましたから、すぐによくなると思います」 「そうか」 そう言うと部屋に入り、理恵子の前の床にあぐらをかいた。 「今夜は比呂美はこちらに泊まるそうだ」 「ええ?どうして……」 「明日の朝食と眞一郎の弁当、それに多分、お前がよくなった事を確認したいんだろう」 「そんな大袈裟な」 驚いたと言うより、呆れた。少し心配性に過ぎないだろうか。 「そう言ってやるな。お前の心配をしているんだから」 「それにしたって、たかが風邪くらいで――」 理恵子は言葉を切った。思い当たる事があった。 「香里は、あの娘の前ではギリギリまでただ疲れただけだ、と強がっていたんだ」 ひろしの短い言葉もまさに同じ点を指摘していた。 そうだった。 比呂美の母、香里は夫の死後十年以上も女手一つで比呂美を育ててきた。多少の無理を 押して働き続け、職場で倒れて病院に運ばれた時にはもう手遅れの状態であった。 比呂美は母の異変に気づいてやれなかった事を強く後悔していた。その姿は理恵子も見 ていたのだが、少なくともその想いが自分にも向けられるとは思っていなかった。 「眞一郎から聞いたんだが、俺があいつに電話をした後、比呂美はその場で友達に部活を 休むと伝えたそうだ。医者には診せたのかとかちゃんと寝ているのかとか、眞一郎よりよ っぽど心配していたらしいぞ」 「あの娘が……」 「食事も消化がよくて負担の少ないものを、と思って、慣れない和食の煮物にしたそうだ。 比呂美は否定していたが、何度も味見していたらしい」 「…………」 「一人で食べるのはあまりに味気ないからと言って自分も二階で食べると言って聞かなか ったとも言っていた。まあ、結果眞一郎が一人で食う羽目になるわけだが」 ひろしは柔らかく笑った。 「お前には逆に迷惑かもしれないが、あれの好きなようにさせてやってくれないか。自分 の親に出来なかった事を、今お前にしてやりたいんだろう」 「……わかりました。もう暫く聞き分けのいい病人でいる事にします」 理恵子は良人にそう答えた。 「よかった、熱は下がったみたいですね」 翌朝、朝食の粥と体温計を持って上がってきた比呂美は理恵子の体温を測るとそう言っ た。心から安心しているようだった。 「お昼は用意しておきますから、申し訳ないですけど降りて食べて下さい」 「ありがとう」 「洗い物は学校から帰ったらやりますから、そのままにしておいて下さいね」 「それくらい――」 もう平気よ、と言いかけて、理恵子は言葉を止めた。ひろしの言う通りここは比呂美の 気の済むようにしよう。 「わかったわ。じゃあ、水に浸けておくだけにしておくわね」 「お願いします」 自分の朝食を食べ終えた比呂美が理恵子の食事の様子を見ていた。理恵子は膳を下げる ために待っているのだと気づいた。 「お昼をいただく時に持って降りるわ。眞ちゃんと一緒に学校に行ってきなさい」 「え、あ、はい」 比呂美は立ち上がった。 「じゃあ、よろしくお願いします」 「それと、比呂美ちゃん」 「はい?」 「……私がよくなったら、一緒にお夕飯作りましょうか。私、洋食が得意ではないの。教 えてもらえる?」 「私がですか?そんな、私なんて人に教えるほど上手くないし――」 「その代わり、と言ってはなんだけど、和食なら少し自信があるから、憶えたい料理があ るなら教えてあげるわ」 すぐに付け足した。 「もし、比呂美ちゃんさえよかったら、だけど」 「よかったらなんて……こちらこそ、お願いします」 比呂美は深々と頭を下げた。 了 ノート 比呂美をママンが看病する話は書いた事が在りますが、その逆はどうなるかな、と思いながら書いた話です。 ここではっきり決めておかなくてはならないのは比呂美がママンの事を本気で看病するのはセオリーとして、 「好きな人の母親として病気を心配する」のか「自分の2人目の母親と思ってかんびょうする」のかという点。 一応自分の中では軸を立てつつ、描写上はどちらに解釈しても違和感がないように、と思って書いてみましたが、 果たして上手くいったかどうか……。
https://w.atwiki.jp/msrs/pages/151.html
アーティスト SCRIPT 作詞 渡邊崇尉 作曲 渡邊崇尉 編曲 SCRIPT 時間 4 31 収録作品 10strokes(M-10) 【読み とぅるーでいず】 【タグ 10strokes 2006年 SCRIPT て 渡邊崇尉作品】
https://w.atwiki.jp/sampleisbest/pages/223.html
開発環境 Microsoft Visual C# 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Windows Game (4.0) プロジェクト名 XnaSphere2 CustomVertex.cs using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace CustomVertex { struct VertexPositionNormalColor IVertexType { public Vector3 Position; public Vector3 Normal; public Color Color; public VertexPositionNormalColor(Vector3 position, Vector3 normal, Color color) { Position = position; Normal = normal; Color = color; } static readonly VertexDeclaration VertexDeclaration = new VertexDeclaration( new VertexElement(0, VertexElementFormat.Vector3, VertexElementUsage.Position, 0), new VertexElement(sizeof(float) * 3, VertexElementFormat.Vector3, VertexElementUsage.Normal, 0), new VertexElement(sizeof(float) * 6, VertexElementFormat.Color, VertexElementUsage.Color, 0)); VertexDeclaration IVertexType.VertexDeclaration { get { return VertexDeclaration; } } } } Game1.cs // XnaSphere2 - XNA 球体(法線) using System; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using CustomVertex; namespace XnaSphere { class Game1 Game { GraphicsDeviceManager graphics; SpriteBatch sprite; SpriteFont font; BasicEffect effect; VertexBuffer vertexBuffer; IndexBuffer indexBuffer; // fps int sec; int draw = 0; int fps = 0; // カメラ int camLat = 0; int camLong = 90; float camDist = 5; public Game1() { graphics = new GraphicsDeviceManager(this); graphics.PreferredBackBufferWidth = 1280; graphics.PreferredBackBufferHeight = 720; Content.RootDirectory = "Content"; IsMouseVisible = true; } protected override void LoadContent() { font = Content.Load SpriteFont ("SpriteFont1"); sprite = new SpriteBatch(GraphicsDevice); effect = new BasicEffect(GraphicsDevice); //effect.VertexColorEnabled = true; effect.EnableDefaultLighting(); effect.Projection = Matrix.CreatePerspectiveFieldOfView( MathHelper.ToRadians(45), GraphicsDevice.Viewport.AspectRatio, 1, 100); // 頂点バッファ int stackNum = 16; // 輪切りの数 VertexPositionNormalColor[] vertices = new VertexPositionNormalColor[stackNum * stackNum + 2]; int i = 0; vertices[i++] = new VertexPositionNormalColor( new Vector3(0, 1, 0), new Vector3(0, 1, 0), Color.Yellow); for (int stack = 1; stack stackNum; stack++) { float rad = ((stackNum - 2 * stack) / (float)stackNum) * MathHelper.PiOver2; float y = (float)Math.Sin(rad); float r = (float)Math.Cos(rad); int sliceNum = 4 * Math.Min(stack, stackNum - stack); // 放射頂点の数 for (int slice = 0; slice sliceNum; slice++) { rad = (slice / (float)sliceNum) * MathHelper.TwoPi; float x = (float)Math.Cos(rad) * r; float z = (float)Math.Sin(rad) * r; Vector3 normal = Vector3.Normalize(new Vector3(x, y, z)); vertices[i++] = new VertexPositionNormalColor( normal, normal, (slice 1) == 0 ? Color.Red Color.Yellow); } } vertices[i++] = new VertexPositionNormalColor( new Vector3(0, -1, 0), new Vector3(0, -1, 0), Color.Yellow); vertexBuffer = new VertexBuffer(GraphicsDevice, typeof(VertexPositionNormalColor), vertices.Length, BufferUsage.WriteOnly); vertexBuffer.SetData(vertices); // 索引バッファ short[] indices = new short[stackNum * stackNum * 6]; i = 0; int prevHead = 0; // 前の先頭頂点番号 int prevVtx = 1; // 前の頂点数 for (int stack = 0; stack stackNum / 2; stack++) { int currHead = prevHead + prevVtx; // 現在の先頭頂点番号 int currVtx = 4 * (stack + 1); // 現在の頂点数 for (int quad = 0; quad 4; quad++) // 4象限 { int prevQuad = quad * stack; // 前の象限オフセット int currQuad = quad * (stack + 1); // 現在の象限オフセット for (int n = 0; ; n++) { indices[i++] = (short)(prevHead + (prevQuad + n) % prevVtx); indices[i++] = (short)(currHead + (currQuad + n)); indices[i++] = (short)(currHead + (currQuad + n + 1) % currVtx); if (stack = n) break; indices[i++] = (short)(prevHead + (prevQuad + n)); indices[i++] = (short)(currHead + (currQuad + n + 1)); indices[i++] = (short)(prevHead + (prevQuad + n + 1) % prevVtx); } } prevHead = currHead; prevVtx = currVtx; } for (int stack = stackNum / 2 - 1; 0 = stack; stack--) { int currHead = prevHead + prevVtx; int currVtx = Math.Max(4 * stack, 1); for (int quad = 0; quad 4; quad++) // 4象限 { int prevQuad = quad * (stack + 1); int currQuad = quad * stack; for (int n = 0; ; n++) { indices[i++] = (short)(currHead + (currQuad + n) % currVtx); indices[i++] = (short)(prevHead + (prevQuad + n + 1) % prevVtx); indices[i++] = (short)(prevHead + (prevQuad + n)); if (stack = n) break; indices[i++] = (short)(currHead + (currQuad + n)); indices[i++] = (short)(currHead + (currQuad + n + 1) % currVtx); indices[i++] = (short)(prevHead + (prevQuad + n + 1)); } } prevHead = currHead; prevVtx = currVtx; } indexBuffer = new IndexBuffer(GraphicsDevice, typeof(short), indices.Length, BufferUsage.WriteOnly); indexBuffer.SetData(indices); base.LoadContent(); } protected override void Update(GameTime gameTime) { KeyboardState kState = Keyboard.GetState(); if (kState.IsKeyDown(Keys.Escape)) Exit(); if (kState.IsKeyDown(Keys.Up)) camLat++; if (kState.IsKeyDown(Keys.Down)) camLat--; if (kState.IsKeyDown(Keys.Left)) camLong = (camLong + 1) % 360; if (kState.IsKeyDown(Keys.Right)) camLong = (camLong + 359) % 360; if (kState.IsKeyDown(Keys.PageUp)) camDist -= 0.1f; if (kState.IsKeyDown(Keys.PageDown)) camDist += 0.1f; base.Update(gameTime); } protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); //GraphicsDevice.RasterizerState = // new RasterizerState { FillMode = FillMode.WireFrame }; // カメラ位置 float rad = MathHelper.ToRadians(camLat); float y = (float)Math.Sin(rad) * camDist; float r = (float)Math.Cos(rad) * camDist; rad = MathHelper.ToRadians(camLong); float x = (float)Math.Cos(rad) * r; float z = (float)Math.Sin(rad) * r; effect.View = Matrix.CreateLookAt(new Vector3(x, y, z), Vector3.Zero, Vector3.Up); GraphicsDevice.SetVertexBuffer(vertexBuffer); GraphicsDevice.Indices = indexBuffer; foreach (EffectPass pass in effect.CurrentTechnique.Passes) { pass.Apply(); GraphicsDevice.DrawIndexedPrimitives(PrimitiveType.TriangleList, 0, 0, vertexBuffer.VertexCount, 0, indexBuffer.IndexCount / 3); } // fps draw++; if (gameTime.TotalGameTime.Seconds != sec) { fps = draw; draw = 0; sec = gameTime.TotalGameTime.Seconds; } sprite.Begin(); string text = String.Format( "fps={0} lat={1} long={2} dist={3 f1}", fps, camLat, camLong, camDist); sprite.DrawString(font, text, new Vector2(0, 0), Color.White); sprite.End(); base.Draw(gameTime); } } }
https://w.atwiki.jp/true_tears/pages/267.html
「行ってきます」 学校に行こうとする眞一郎を理恵子が呼び止める。 「あ、眞ちゃん、待って」 「ん?」 「悪いけど、今日は比呂美ちゃんのところでお夕飯食べてもらえるかしら?お母さん、 ちょっと出かける用事があるの」 「あー、それはいいけど、父さんはどうするの?」 「お父さんも、今日は出前か何か頼んでもらえませんか?申し訳ないのですけど」 「・・・・ああ、わかった」 ひろしは一瞬だけ理恵子の方を見て、すぐに食卓に目を戻しながら答えた。 「なんなら比呂美に来てもらおうか?うちなら台所も使い慣れてるし」 「余計な気は遣うな。俺は、適当に食べるから」 「お父さんもこう言ってるし、二人でお食べなさい。お母さんもそんなに遅くはならないから」 「わかった。じゃ、そうするよ。行ってきます」 眞一郎が改めて挨拶をして家を出ると、理恵子は食卓に戻った。 「すいません、急に」 「・・・・いや、いい」 いつもの通り、ひろしはなにも詮索しない。それは理恵子を信用しているからに他ならな いが、時として無関心にも見えるのが欠点だ。 だが、今日に限って言うなら何も訊かれないのはありがたい。 朝の内に家の用事を済ませ、早目の昼食を取り、着替えをして家を出る。 初夏と呼ばれる季節も終りに近づき、この時間になると外を歩くだけでも汗が滲んでくる。 駅に着き、電車に乗って冷房の効いた車内に入るとほっと一息を吐く。黒の服も暑さの一 因だ。 目的の駅で降り、タクシーを拾って行き先を告げる。 ほんの少しだけ、決意が揺れる。弱気な部分が引き返したがっている。 しかし、ここで引き返すことはしたくない。自分の心に決着をつけるために、引き返すわ けにはいかない。 程なく目的地に着く。タクシーを降り、階段を登る。 入り口をくぐって右へ。三つ目の角を左。・・・・七つ、八つ。 着いた。 「ごめんなさいね。こんな中途半端な日に来ちゃって。でも、大事な記念日よね。 「20回目の結婚記念日、おめでとう」 湯浅家の墓碑の前に立ち、理恵子は静かに語りかけた。 「私、あなた達が結婚した時、心からほっとしたのよ・・・・」 墓の掃除を終え、理恵子は再び話し始めた。 「これであの人も完全に未練はなくなる。もうこれからは私一人を見てくれると、その事が 本当に嬉しかった。いえ、疑っていたわけではないのよ。ただ・・・・いえ、そうね、確かに 信じ切れていなかったわ」 今まで認めようとしなかった過去を、素直に認める気になったのは、物言わぬ故人の前 だからだろうか。それとも理恵子自身に何らかの変化が起きているのだろうか。 「でも、その時の私は、自分が信じてると思い込もうとしたの。不安や不信を見ないように して、自分はひろしさんを愛しているから、何も心配していないんだと自分に言い聞かせて いた。ひろしさんに確かめるのが怖かったの。 「でも、そのごまかしが、すぐに歪みとなって現れた・・・・」 湯浅は元々、身体の丈夫な男ではなかった。香里がひろしよりも湯浅を選んだのも、あ るいはそこに一因があるのかも知れないが、家庭を守る立場となった事は、湯浅に気力や 張り合いを与えると共に、負担や気負いももたらした。 湯浅は身体を壊し、その看病をしながら自らも働く香里を心配し、ひろしは頻繁に香里 の下を訪れ、世話を焼くようになった。 それはまだ結婚も、同棲もしていない理恵子との時間を犠牲にする事となり、理恵子 の不安は大きく掻き立てられた。親友の家庭を案ずるひろしと、邪推と知りつつ嫉妬を抑 えることが難しくなっていく理恵子の関係は、次第にギクシャクしたものになっていった。 理恵子が自分の身体の変調に気が付いたのは、その頃である。 「あの時は私、初めて神様を信じる気になったわ。だって、こんなタイミングでなんて、誰 か余程意地の悪い人が話を考えない限り、私に起きるとは思えないもの」 自分の妊娠に気付いた時、理恵子は誰にも告げなかった。 自分の両親には当然言えない。同性の友人にもそこまで打ち明けられるほど親密な相 手はいなかった。 ひろしにも言えなかった。言えば何かが終わってしまう気がした。拒絶された時が怖かった。 「馬鹿みたいよね。そんな事あの人がする筈ないのに・・・・」 だがあの当時、理恵子はひろしがその報せを喜ぶとは思えなかったのだ。 誰にも、何も言えないままに1ヶ月が過ぎ、生むか、中絶するかの決断を医師から迫ら れるようになった頃、理恵子は倒れた。極度の心労と妊娠中毒による体力の低下だった。 病室に入ってきたひろしは、困ったような表情だった。理恵子はベッドの中から、その顔貌 をまるで始めて見るかのように見上げていた。 (終りかな・・・・) そんな言葉が浮かんだ。自然に涙が溢れてきた。見られたくなくて布団を引き上げた。 ひろしは布団の隙間から理恵子の頬に触れ、涙を拭きながらこう言った。 『暫らく、安静にしていれば、子供には影響ないそうだ』 ベッドの脇にいすを置き、腰掛ける。 『・・・・名前を、決めないとな』 理恵子が布団から顔を出す。ひろしは、堅苦しく、しかし確かに微笑んで見せた。 『出来れば、今度はもっと普通に驚かせてくれ。心臓が、止まるかと思ったぞ』 理恵子は泣いた。声を上げて泣いた。ひろしはその涙を拭っていた。 一ヵ月後、ひろしと理恵子は仲上本宅で式を挙げた。湯浅は来れなかったが、香里も出 席した。 それからの理恵子は、多忙ではあったが幸せだった。 ひろしの母は妊娠が先行しての結婚にショックを隠せず、ひろしからの話を聞いたとき には勘当だと大騒ぎしたが、式が近づくとそれでも理恵子を受け入れてくれた。旧家であ る仲上家のしきたりは覚えることも多かったが、義母の厳しくも的確な教育で少しづつ覚え ていった。 眞一郎が生まれた時、義母も、義父も、ひろしも喜んでくれた。特に義父は跡取りが生 まれた喜びを隠そうともせず、三日間に渡って道往く人に樽酒を振舞った。 その2ヵ月後に湯浅家に長女が誕生したと言うニュースは、理恵子にはさしたる意味を 持たなかった。 少なくともその当時は 続 ノート かなり禁じ手な感もある、過去偏です。 この4人のドラマはかなり詳細にプロットは作ってあって、それだけで長編シリーズになりえるくらいに作りこんであるのですが、当然ながら オリジナル設定が大半を占めるため、発表にかなり躊躇いがあるタイプの話です。 一応今回の話はアニメとの相似形になるように意図しています。 理恵子がベッドでひろしを見上げて涙を流す画は、9話で比呂美が理恵子たちと学校に説明に行く日の朝の比呂美の姿をイメージしてます。 理恵子が眞一郎や比呂美に「表を一緒に歩かないように」とか、「男と遊び歩いて妙な噂を立てられないように」とうるさく言うのは、 比呂美や比呂美の母に対して含むところがあるのではなく、出来婚の自分が近所から白眼視されていて、眞一郎が「この親にしてこの子あり」 と噂される事を嫌っているからです(実際に、古株の住人が噂しているのを聞いていると思います) 後編に掛かる話ですが比呂美に仕事を手伝わせたのも、家族として(感情的に)受け入れられない代わり一定の役割を与えて、居場所を作って あげようとの配慮が理恵子の側にあります。ただ、理恵子の比呂美に対する複雑な感情と、比呂美の側に新婚時代の理恵子のような相手に気 に入られたいという意思がない事で、事態が最悪の方向に動いてしまいましたが。 以上、長々言い訳しましたが次は後編。もう暫らくのお付き合いを
https://w.atwiki.jp/sampleisbest/pages/64.html
開発環境 Microsoft Visual C++ 2010 Express (SP1) 実行環境 Microsoft Windows XP Home Edition (SP3) プロジェクトの種類 Win32 プロジェクト プロジェクト名 EnumFont アプリケーションの種類 Windows アプリケーション 追加のオプション 空のプロジェクト 文字セット Unicode EnumFont.c #include fcntl.h // _O_WTEXT #include io.h // _setmode #include stdio.h // _fileno #include tchar.h #include Windows.h #include "resource.h" #define LINE_HEIGHT 48 // 関数プロトタイプ宣言 LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int CALLBACK EnumFontFamExProc(const LOGFONT* lpelfe, const TEXTMETRIC* lpntme, DWORD FontType, LPARAM lParam); void OnCreate(HWND hWnd); void OnSize(HWND hWnd); void OnVScroll(HWND hWnd, WPARAM wParam, LPARAM lParam); void OnMouseWheel(HWND hWnd, WPARAM wParam, LPARAM lParam); int OnCommand(HWND hWnd, WPARAM wParam); void OnPaint(HWND hWnd); // グローバル変数 TCHARg_atcClassName[] = _T("EnumFont"); TCHARg_atcWindowName[] = _T("Enum Font"); SCROLLINFOg_siVert; LOGFONTg_aLogFont[512]; intg_iFontNum = 0; //============================================================================== int APIENTRY _tWinMain( HINSTANCEhInstance, HINSTANCEhPrevInstance, LPTSTRlpCmdLine, intnCmdShow) { WNDCLASSEXwcex; HWNDhWnd; MSGmsg; HACCELhAccelTable; _setmode(_fileno(stdout), _O_WTEXT); // ウィンドウクラスの登録 wcex.cbSize= sizeof wcex; wcex.style= CS_HREDRAW | CS_VREDRAW; wcex.lpfnWndProc= WndProc; wcex.cbClsExtra= 0; wcex.cbWndExtra= 0; wcex.hInstance= hInstance; wcex.hIcon= LoadIcon(NULL, IDI_APPLICATION); wcex.hCursor= LoadCursor(NULL, IDC_ARROW); wcex.hbrBackground= (HBRUSH)(COLOR_WINDOW + 1); wcex.lpszMenuName= NULL; wcex.lpszClassName= g_atcClassName; wcex.hIconSm= LoadIcon(NULL, IDI_APPLICATION); if (RegisterClassEx( wcex) == 0) { return 0; } // ウィンドウの作成 hWnd = CreateWindow( g_atcClassName,// ClassName g_atcWindowName,// WindowName WS_OVERLAPPEDWINDOW | WS_VSCROLL,// Style CW_USEDEFAULT,// x 0,// y CW_USEDEFAULT,// Width 0,// Height NULL,// WndParent NULL,// Menu hInstance, NULL); if (hWnd == NULL) { return 0; } ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDR_MAINFRAME); while (GetMessage( msg, NULL, 0, 0)) { if (TranslateAccelerator(msg.hwnd, hAccelTable, msg) == 0) { TranslateMessage( msg); DispatchMessage( msg); } } return msg.wParam; } //------------------------------------------------------------------------------ LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_PAINT OnPaint(hWnd); break; case WM_VSCROLL OnVScroll(hWnd, wParam, lParam); break; case WM_MOUSEWHEEL OnMouseWheel(hWnd, wParam, lParam); break; case WM_COMMAND if (OnCommand(hWnd, wParam)) { return DefWindowProc(hWnd, uMsg, wParam, lParam); } break; case WM_SIZE OnSize(hWnd); break; case WM_CREATE OnCreate(hWnd); break; case WM_DESTROY PostQuitMessage(0); break; default return DefWindowProc(hWnd, uMsg, wParam, lParam); } return 0; } //------------------------------------------------------------------------------ int CALLBACK EnumFontFamExProc(const LOGFONT* lpelfe, const TEXTMETRIC* lpntme, DWORD FontType, LPARAM lParam) { _tprintf(_T("%d,%d,\t%d,%d,%d,%d,%d,%d,%d,\t%d,%d,%d,%d,\t%s\n"), lpelfe- lfHeight, lpelfe- lfWidth, lpelfe- lfEscapement, lpelfe- lfOrientation, lpelfe- lfWeight, lpelfe- lfItalic, lpelfe- lfUnderline, lpelfe- lfStrikeOut, lpelfe- lfCharSet, lpelfe- lfOutPrecision, lpelfe- lfClipPrecision, lpelfe- lfQuality, lpelfe- lfPitchAndFamily, lpelfe- lfFaceName); if (_countof(g_aLogFont) = g_iFontNum) { return 0;// 列挙停止 } if (g_iFontNum == 0 || _tcscmp(g_aLogFont[g_iFontNum - 1].lfFaceName, lpelfe- lfFaceName)) { g_aLogFont[g_iFontNum++] = *lpelfe; } return 1;// 列挙継続 } //------------------------------------------------------------------------------ void OnCreate(HWND hWnd) { HDChDC; LOGFONTlogfont; RECTrcClient; hDC = GetDC(NULL); ZeroMemory( logfont, sizeof logfont); logfont.lfCharSet = DEFAULT_CHARSET; EnumFontFamiliesEx(hDC, logfont, EnumFontFamExProc, 0, 0); ReleaseDC(NULL, hDC); GetClientRect(hWnd, rcClient); g_siVert.cbSize= sizeof g_siVert; g_siVert.fMask= SIF_RANGE | SIF_PAGE | SIF_POS | SIF_DISABLENOSCROLL; g_siVert.nMin= 0; g_siVert.nMax= LINE_HEIGHT * g_iFontNum - 1; g_siVert.nPage= rcClient.bottom; g_siVert.nPos= 0; SetScrollInfo(hWnd, SB_VERT, g_siVert, FALSE); } //------------------------------------------------------------------------------ void OnSize(HWND hWnd) { RECTrcClient; intiPosMax; GetClientRect(hWnd, rcClient); g_siVert.nPage= rcClient.bottom; iPosMax = g_siVert.nMax - g_siVert.nPage + 1; if (iPosMax 0) { iPosMax = 0; } if (iPosMax g_siVert.nPos) { g_siVert.nPos = iPosMax; } SetScrollInfo(hWnd, SB_VERT, g_siVert, TRUE); } //------------------------------------------------------------------------------ // (HWND)lParam handle to scroll bar void OnVScroll(HWND hWnd, WPARAM wParam, LPARAM lParam) { SCROLLINFOsi; intiPos; intiPosMax; iPos = g_siVert.nPos; iPosMax = g_siVert.nMax - g_siVert.nPage + 1; switch (LOWORD(wParam)) { case SB_LINEUP // 0 iPos -= LINE_HEIGHT; break; case SB_LINEDOWN // 1 iPos += LINE_HEIGHT; break; case SB_PAGEUP // 2 iPos -= g_siVert.nPage; break; case SB_PAGEDOWN // 3 iPos += g_siVert.nPage; break; case SB_THUMBTRACK // 5 si.cbSize= sizeof si; si.fMask= SIF_TRACKPOS; if (GetScrollInfo(hWnd, SB_VERT, si) != 0) { iPos = si.nTrackPos; } break; case SB_TOP // 6 iPos = 0; break; case SB_BOTTOM // 7 iPos = iPosMax; break; } iPos = min(iPos, iPosMax); iPos = max(iPos, 0); if (iPos == g_siVert.nPos) { return; } ScrollWindowEx(hWnd, 0, g_siVert.nPos - iPos, NULL, NULL, NULL, NULL, SW_INVALIDATE | SW_ERASE); g_siVert.nPos = iPos; SetScrollInfo(hWnd, SB_VERT, g_siVert, TRUE); UpdateWindow(hWnd); } //------------------------------------------------------------------------------ void OnMouseWheel(HWND hWnd, WPARAM wParam, LPARAM lParam) { intnScrollCode; shortzDelta; zDelta = HIWORD(wParam); if (0 zDelta) { nScrollCode = SB_LINEUP; } else { nScrollCode = SB_LINEDOWN; } SendMessage(hWnd, WM_VSCROLL, nScrollCode, (LPARAM)NULL); } //------------------------------------------------------------------------------ int OnCommand(HWND hWnd, WPARAM wParam) { intnScrollCode; switch (LOWORD(wParam)) { case ID_PAGEUP nScrollCode = SB_PAGEUP; break; case ID_PAGEDOWN nScrollCode = SB_PAGEDOWN; break; case ID_END nScrollCode = SB_BOTTOM; break; case ID_HOME nScrollCode = SB_TOP; break; case ID_UP nScrollCode = SB_LINEUP; break; case ID_DOWN nScrollCode = SB_LINEDOWN; break; default return 1; } SendMessage(hWnd, WM_VSCROLL, nScrollCode, (LPARAM)NULL); return 0; } //------------------------------------------------------------------------------ void OnPaint(HWND hWnd) { HDChdc; PAINTSTRUCTps; HFONThFont; HGDIOBJhFontOld; TCHARatcFaceName[32]; TCHARatcStr[] = _T("012abc日本語"); TCHAR*ptc; intiStrLen; intiY; inti; hdc = BeginPaint(hWnd, ps); iStrLen = _tcslen(atcStr); for (i = 0; i g_iFontNum; i++) { iY = i * LINE_HEIGHT - g_siVert.nPos; if (iY + LINE_HEIGHT ps.rcPaint.top || ps.rcPaint.bottom iY) { continue; } ptc = g_aLogFont[i].lfFaceName; TextOut(hdc, 0, iY, ptc, _tcslen(ptc)); hFont = CreateFontIndirect(g_aLogFont + i); hFontOld = SelectObject(hdc, hFont); GetTextFace(hdc, _countof(atcFaceName), atcFaceName); TextOut(hdc, 200, iY, atcFaceName, _tcslen(atcFaceName)); TextOut(hdc, 600, iY, atcStr, iStrLen); SelectObject(hdc, hFontOld); DeleteObject(hFont); } EndPaint(hWnd, ps); } resource.h #define IDR_MAINFRAME128 #define ID_PAGEUP129 #define ID_PAGEDOWN130 #define ID_END131 #define ID_HOME132 #define ID_UP133 #define ID_DOWN134 EnumFont.rc // リソーススクリプト #include windows.h #include "resource.h" //------------------------------------------------------------------------------ // アクセラレータ IDR_MAINFRAME ACCELERATORS BEGIN VK_PRIOR,ID_PAGEUP,VIRTKEY VK_NEXT,ID_PAGEDOWN,VIRTKEY VK_END,ID_END,VIRTKEY VK_HOME,ID_HOME,VIRTKEY VK_UP,ID_UP,VIRTKEY VK_DOWN,ID_DOWN,VIRTKEY END
https://w.atwiki.jp/toho/pages/7011.html
東方TENJEMI Best Vol.1 -cool side- サークル:天然ジェミニ Number Track Name Arranger Lyrics Vocal Original Works Original Tune Length 01 BEAT! 平茸 千鶴 愛原佑季 東方妖々夢 幽霊楽団 ~ Phantom Ensemble [-- --] 02 bloom again Irus 夕野ヨシミ 愛原千尋 東方神霊廟 大神神話伝 [-- --] 夢殿大祀廟 03 SHOUT 24 Bit Lolitas 千鶴 愛原佑季 東方星蓮船 虎柄の毘沙門天 [-- --] 04 Difference of Irus 千鶴 愛原佑季 東方妖々夢 少女幻葬 ~ Necro-fantasy [-- --] 05 Jorney -remix ver- 24 Bit Lolitas Fancymat 愛原千尋愛原佑季 東方妖々夢 人形裁判 ~ 人の形弄びし少女 [-- --] 東方永夜抄 恋色マスタースパーク 06 慈愛に満ちた法の世界 Irus Fancymat 愛原千尋 東方星蓮船 感情の摩天楼 ~ Cosmic Mind [-- --] 07 When we go Irus Fancymat 愛原千尋愛原佑季 東方星蓮船 小さな小さな賢将 [-- --] 虎柄の毘沙門天 08 恋乞観月花之宴 平茸 千鶴うたげあんな 愛原佑季うたげあんな 東方花映塚 六十年目の東方裁判 ~ Fate of Sixty Years [-- --] 彼岸帰航 ~ Riverside View 09 月夜の囁き 平茸 Fancymat 愛原佑季 東方紅魔郷 月時計 ~ ルナ・ダイアル [-- --] 10 仮初神話 平茸 千鶴 愛原佑季 東方神霊廟 聖徳伝説 ~ True Administrator [-- --] 11 亡霊姫の鎮魂歌 24 Bit Lolitas Fancymat 愛原千尋 東方妖々夢 幽雅に咲かせ、墨染の桜 ~ Border of Life [-- --] 東方神霊廟 ゴーストリード 12 SHOUT -remix ver.- 24 Bit Lolitas 千鶴 愛原佑季 東方星蓮船 虎柄の毘沙門天 [-- --] 13 Dear big sister 24 Bit Lolitas Fancymat 愛原千尋 東方地霊殿 ハルトマンの妖怪少女 [-- --] 14 ただ、あなたを 24 Bit Lolitas 夕野ヨシミ 愛原佑季 東方星蓮船 感情の摩天楼 ~ Cosmic Mind [-- --] 15 Partner Is treasure Kenji Fancymat 愛原千尋愛原佑季 東方永夜抄 恋色マスタースパーク [-- --] 東方風神録 芥川龍之介の河童 ~ Candid Friend 詳細 天然ジェミニが贈る東方フルボーカルCD第16弾!クールをテーマに過去のCDから人気曲を集めたベスト盤!熱い一枚をご堪能あれ! 博麗神社例大祭11(2014/05/11)にて頒布 イベント価格:1,200円 ショップ価格:1,500円(税込:1,620円) Arranger 平茸(Aftergrow) Irus(LiLA c Records) 夕野ヨシミ(ユウノウミ) Sources of music 東方香辛甘味 東方極楽睡蓮歌(とうほうごくらくすいれんか) 東方マジカル☆コミカル 東方オールナイト幻想郷 東方Little Bloom 東方Endless Heart レビュー 名前 コメント
https://w.atwiki.jp/tagakidotcom/pages/26.html
Strutsで遊ぶ トップ 戻る Strutsとは、・・・フレームワークである。 大まかな枠組みは出来てるから、必要な部分は個別に作ってくれ、といった感じだろうか。 まあ、とりあえずサンプルを作ってみる。 まずは Struts のダウンロード。ここでは ver.1.1 を使う。(jakarta-struts-1.1.zip) http //jakarta.apache.org/struts/ ダウンロードしたら解凍。解凍すると \jakarta-struts-1.1\webapps に *.war がいくつかあるが、サンプルとして struts-example.war を動かしてみる。 struts-example.war を \jakarta-tomcat-4.1.29\webapps に置いて Tomcat を起動するだけで自動的に war ファイルが解凍され、動かせるようになる。 これをデプロイという。デプロイしてサンプルを動かしてみる。 http //localhost 8080/struts-example/ 【PR】ネットワークを基礎から学びたい! ふ~ん。こんな感じかぁ、といったところで、 最小限の構成となっている struts-blank.war をもとに何か作ることにする。 struts-blank.war をコピーして名前を myworks-struts.war としてデプロイする。 Tomcatの起動→ web.xmlの読み込み ↓ struts-config.xmlの読み込み ↓ 各種設定の読み込み といった順番で読まれる。というか、web.xml に struts-config.xml を読むように書かれている。 まずはテキストボックスに入力した文字列を受け取って、次のページに表示するだけの簡単なサンプルを作ってみる。 とりあえず入力チェックも行うことにする。(ヌルか空白だったら次の画面へ行かずエラーメッセージを表示することにする) 新規に以下の4つのファイルを作る。 input.jsp ・・・ 文字列を入力する画面 output.jsp ・・・ 入力した文字列を出力する画面 TestAction.class ・・・ Actionを継承したクラス (入力したデータを使って画面遷移先などを決めるクラス) TestActionForm.class ・・・ (入力したデータを持っているクラス。 入力内容のチェックを行い正しいか間違っているかを返すクラスでもある) jspファイルは \jakarta-tomcat-4.1.29\webapps\myworks-struts\pages 以下に。 classファイルは \jakarta-tomcat-4.1.29\webapps\myworks-struts\WEB-INF\classes 以下に。 (私は面倒なのでソースもclasses内に置いてしまった。 本来 \jakarta-tomcat-4.1.29\webapps\myworks-struts\WEB-INF\src\java だと思う。) Test01ActionForm.java import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; public class Test01ActionForm extends ActionForm{ private String msg; public void setMsg(String msg) { this.msg = msg; } public String getMsg() { return msg; } public ActionErrors validate(ActionMapping mapping, HttpServletRequest request){ //エラーオブジェクトを作成 ActionErrors errors = new ActionErrors(); //入力データがnullか長さ0の文字列だったらエラー //"error.msg.required"を返す if (msg == null || msg.equals("")) { errors.add("errorMsg", new ActionError("error.msg.required")); } return errors; } } Test01Action.java import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; public class Test01Action extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { //入力データ(アクションフォーム)を取得 Test01ActionForm formBean = (Test01ActionForm)form; //ここでアクションホームのデータを使ってどうのこうの・・・ //ビジネスロジックってやつ。 //今回は簡単な例なので何もせず、正常終了 //フォワード先"success"を返す return (mapping.findForward("success")); } } input.jsp %@ page contentType="text/html; charset=Shift_JIS" % %@ taglib uri="/tags/struts-html" prefix="html" % html html locale="true" body html form action="/pages/actionName" html text property="msg" / html submit property="submit" value="送信"/ /html form html errors property="errorMsg" / /body /html html output.jsp %@ page contentType="text/html; charset=Shift_JIS" % %@ taglib uri="/tags/struts-html" prefix="html" % %@ taglib uri="/tags/struts-bean" prefix="bean" % html html locale="true" body bean write name="actionFormName" property="msg" scope="request"/ /body /html html コンパイル。・・・失敗。クラスパスの設定を忘れてた。前に作ったバッチファイルを編集する。 set CATALINA_HOME=C \myfolder\program\tomcat\jakarta-tomcat-4.1.29 set JAVA_HOME=C \jdk1.3.1_09 set CLASSPATH=%CATALINA_HOME%\common\lib\servlet.jar;%CATALINA_HOME%\webapps\myworks-struts\WEB-INF\lib\struts.jar PATH C \myFolder\tomcat\jakarta-tomcat-4.1.29\bin;C \jdk1.3.1_09\bin javac Test01Action.java Test01ActionForm.java (・・・片方だけコンパイルしたい場合、どうやるんだっけ?importか・・・) 【PR】“誌面で学ぶパソコン教室” コンパイルができたら、 \jakarta-tomcat-4.1.29\webapps\myworks-struts\WEB-INF にある struts-config.xml を編集する。 これに今作ったJSPやらclassやら、主に画面遷移の仕方を記述する必要がある。 追加したところを赤くしておく。一応編集前にバックアップを取っておく。 struts-config.xml (略) form-beans form-bean name="actionFormName" type="Test01ActionForm" / /form-beans (略) action-mappings (略) action path="/pages/actionName" type="Test01Action" name="actionFormName" scope="request" input="/pages/input.jsp" validate="true" forward name="success" path="/pages/output.jsp"/ /action (略) /action-mappings (略) あともう1つ忘れてた。 \jakarta-tomcat-4.1.29\webapps\myworks-struts\WEB-INF\classes\resources に application.properties というファイルがあり、これにメッセージをまとめて書いておける。 そしてそのメッセージの名前をソースから呼べばメッセージを取得することができる。 これに先ほどの Test01ActionForm.java 内の入力チェックでのメッセージ名、 error.msg.required を追加する。 application.properties (略) # -- Test -- error.msg.required=Message required!! これで準備完了。Tomcatを起動して http //localhost 8080/myworks-struts/pages/input.jsp にアクセス。 できた・・・。 【PR】IT技術者のために、役立つ実務情報を提供します。 流れを追ってみる。 http //localhost 8080/myworks-struts/pages/input.jsp にアクセスすると、入力画面が表示される。 ここで何か適当に("TEST"とでも・・・)入力し、送信ボタンを押す。 そうすると action="/pages/actionName" を呼ぶように書いてある。 この遷移先が呼ばれたときの設定が struts-config.xml に下のように書いてあり、 action path="/pages/actionName" type="Test01Action" name="actionFormName" scope="request" input="/pages/input.jsp" validate="true" forward name="success" path="/pages/output.jsp"/ /action type="Test01Action"この記述からアクションクラスTest01Actionが呼ばれる。 scope="request"で。(一度遷移したらデータはクリアされる。保持しておきたければsessionとする) path="/pages/actionName"への遷移を行うと、name="actionFormName"を見て この遷移で入力されたデータを格納するアクションフォームを認識する。 form-bean name="actionFormName" type="Test01ActionForm" / そして、入力データをセット。 アクションクラスTest01Actionでアクションフォーム(への参照かな?)が作られる。 public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { Test01ActionForm formBean = (Test01ActionForm)form; Test01ActionFormのインスタンスformBeanがformを参照するようにすることで アクションフォームTest01ActionFormを操作できるようになる。(実体はformか?) また、validate="true"とすることで入力チェックを行う。 (自動的にデータセット後、Test01ActionFormのvalidateメソッドが実行される) この validateメソッド でエラー(エラーオブジェクトに値がセットされたもの)が返されると input="/pages/input.jsp" へ遷移するようになっている。 Test01ActionForm の errors.add("errorMsg" , new ActionError("error.msg.required")); で、エラーオブジェクト(errors)に "errorMsg" という名前で "error.msg.required" のメッセージが関連付けられる。 "error.msg.required" は application.properties に記述した。(error.msg.required=Message required!!) (これって結局はセッションにerrorMsgという名前で入ってるのかな?後で調べたい。) それがinput.jsp の html errors property="errorMsg" / の記述によって表示される。 入力エラーがないと今回のサンプルはフォワード先を返して終わりである。 Test01Action で return (mapping.findForward("success")); フォワード先"success"を返したときの設定を struts-config.xml に書いた。/pages/output.jsp へ遷移する。 forward name="success" path="/pages/output.jsp"/ 流れはこんなものだろうか・・・。 【PR】技術スキルとビジネススキルの向上、キャリア形成 そういえばJSPのほうは、ほったらかしだった。 とりあえずStrutsタグライブラリを使うと以下のHTMLが生成されたのを記しておく。 input.jsp html lang="ja" body form name="actionFormName" method="post" action="/myworks-struts/pages/actionName.do" input type="text" name="msg" value="" input type="submit" name="submit" value="送信" /form /body /html output.jsp ( input.jspで TEST と入力した結果 ) html lang="ja" body TEST /body /html input.jsp ( 何も入力しなかった結果 ) html lang="ja" body form name="actionFormName" method="post" action="/myworks-struts/pages/actionName.do" input type="text" name="msg" value="" input type="submit" name="submit" value="送信" /form UL LI Message required!!. /LI /UL /body /html 【PR】ネットワークを基礎から学びたい! strutsはwarを置いてtomcatを起動するだけで解凍され、 サンプルなどにアクセス可能になる。 server.xmlに書いていないのになぜ? C \myfolder\program\tomcat\jakarta-tomcat-4.1.29\webapps jar cvf myworks-struts.war myworks-struts で作成したstrutsのサンプルをデプロイしてみようと warファイルを作成した。 別フォルダにtomcatを持っていって、webapps以下に置いて 起動。解凍される、がフォルダ構成がおかしい。 これを手動で直してtomcatを起動しなおすと、起動メッセージが 変わった。どうやら何か中にあるらしい。どれを読んでいるのか? デプロイしたweb.xmlのファイル名を変更してみる。 起動メッセージが認識していないときのものに戻った。 これか。そういやweb.xmlってtomcat起動時に読み込まれる 設定ファイルだった。 これをうまく書けばserver.xmlに書かなくてもいいわけ? web.xmlを眺める。わからん。 デプロイした/WEB-INF/web.xml の初期化パラメータに init-param param-name config /param-name param-value /WEB-INF/struts-config.xml /param-value /init-param とある。web.xmlを読んでstruts-config.xmlを 読んでいるようだ。 tomcat起動メッセージと見比べるとよくわかる。 ここで/path=とかの設定がされているので このおかげでserver.xmlの変更がいらないように見える・・・。 デプロイの件。下のようにやったらできた。 C \myfolder\program\tomcat\jakarta-tomcat-4.1.29\webapps\myworks-struts jar cvf myworks-struts.war ./pages ./WEB-INF tomcat起動中にwarファイルもっていったらデプロイされた。 へぇ~、起動しなおさなくていいんだ。すごいな。 トップ kasaharan@mwa.biglobe.ne.jp 戻る Copyright© 2002-2003 Kasaharan All rights reserved
https://w.atwiki.jp/seiyu-coversong/pages/3494.html
原曲・DREAMS COME TRUE 作詞・吉田美和 作曲・吉田美和,中村正人 音楽ユニット・DREAMS COME TRUEが2010年に発表した楽曲。 【登録タグ 2010年の楽曲 DREAMS COME TRUE J-POP】 カバーした声優 松本梨香
https://w.atwiki.jp/keroro00innovator/pages/1872.html
THE BEST “Red” THE BEST “Red” アーティスト Kalafina 発売日 2014年7月16日 レーベル SME デイリー最高順位 2位(2014年7月16日) 週間最高順位 2位(2014年7月22日) 月間最高順位 2位(2014年7月) 年間最高順位 8位(2014年) 初動売上 25598 累計売上 47738 ロングセラー 収録内容 曲名 タイアップ 視聴 1 prelude 2 misterioso 劇場版魔法少女まどか☆マギカ [新編]叛逆の物語 挿入歌 3 光の旋律 ソ・ラ・ノ・ヲ・ト OP 4 Lacrimosa 黒執事 ED 5 ARIA 劇場版 空の境界 主題歌 6 輝く空の静寂には 黒執事Ⅱ 挿入歌 7 moonfesta~ムーンフェスタ~ - 8 ひかりふる 劇場版魔法少女まどか☆マギカ 永遠の物語 主題歌 9 oblivious 劇場版 空の境界 主題歌 10 音楽 11 consolation 12 胸の行方 13 夢の大地 14 Eden 15 アレルヤ 空の境界 未来福音 主題歌 ランキング 週 月日 順位 変動 週/月間枚数 累計枚数 1 7/22 2 新 25598 25598 2 7/29 3 ↓ 5984 31582 3 8/5 7 ↓ 3113 34695 2014年7月 2 新 34695 34695 4 8/12 4 ↑ 1916 36611 5 8/19 5 ↓ 1664 38275 6 8/26 5 → 1038 39313 7 9/2 ↓ 951 40264 2014年8月 7 ↓ 5569 40264 8 9/9 13 ↑ 819 41083 9 9/16 15 ↓ 616 41699 10 9/23 13 ↑ 486 42185 11 9/30 ↓ 416 42601 2014年9月 23 ↓ 2337 42601 12 10/7 292 42893 13 10/14 308 43201 14 10/21 15 ↑ 280 43481 15 10/28 14 ↑ 339 43820 16 11/4 14 → 262 44082 2014年10月 22 ↑ 1481 44082 17 15/2/24 234 44316 18 3/3 288 44604 19 5/12 240 44844 20 5/19 251 45095 21 5/26 213 45308 2015年5月 704 45308 22 6/23 524 45832 23 6/30 293 46125 24 7/14 233 46358 25 7/28 286 46644 26 8/4 338 46982 2015年7月 857 46982 27 8/11 244 47226 28 8/18 282 47508 29 8/25 230 47738 2015年8月 756 47738 関連CD THE BEST “Blue” oblivious sprinter/ARIA 光の旋律 輝く空の静寂には ひかりふる アレルヤ misterioso